package main.java.fases;

import java.util.Collection;
import java.util.Iterator;

import main.java.tablero.Ficha;
import main.java.tablero.FichaHorizonte;



public class FaseBarco extends Fase {

	
	private FichaHorizonte fichaBarco;
	private FichaHorizonte fichaMar;
	private boolean avistamiento;
	private Collection turnos;
	private boolean faseAcabada = false;
	private Jugador jp;
	private FichaHorizonte fichaHorizonte;
	private Collection turnos1;
	
	public FaseBarco(Jugador j){
		j.levantarFicha(fichaHorizonte);
	}

	public Ficha getFichaBarco() {
		return fichaBarco;
	}
		
	public void setFichaBarco(FichaHorizonte fichaBarco) {
		this.fichaBarco = fichaBarco;
	}

	public boolean isAvistamiento() {
		return avistamiento;
	}

	public void setAvistamiento(boolean avistamiento) {
		this.avistamiento = avistamiento;
	}
		
	public Ficha getFichaMar() {
		return fichaMar;
	}

	public void setFichaHorizonte(FichaHorizonte fichaMar) {
		this.fichaMar = fichaMar;
	}

	public Collection getTurnos() {
		return turnos;
	}

	public Iterator turnosIterator() {
		return turnos.iterator();
	}

	public boolean isTurnosEmpty() {
		return turnos.isEmpty();
	}

	public boolean containsTurnos(Turno turnos) {
		return this.turnos.contains(turnos);
	}

	public boolean containsAllTurnos(Collection turnos) {
		return this.turnos.containsAll(turnos);
	}

	public int turnosSize() {
		return turnos.size();
	}

	public Turno[] turnosToArray() {
		return (Turno[]) turnos.toArray(new Turno[turnos.size()]);
	}

	public Turno[] turnosToArray(Turno[] turnos) {
		return (Turno[]) this.turnos.toArray(turnos);
	}

	public boolean addTurnos(Turno turnos) {
		return this.turnos.add(turnos);
	}

	public void setTurnos(Collection turnos) {
		this.turnos = turnos;
	}

	public boolean removeTurnos(Turno turnos) {
		return this.turnos.remove(turnos);
	}

		
	public void clearTurnos() {
		this.turnos.clear();
	}

	public Collection getTurnos1() {
		return turnos1;
	}

	public Iterator turnos1Iterator() {
		return turnos1.iterator();
	}
	
	public boolean isTurnos1Empty() {
		return turnos1.isEmpty();
	}

	public boolean containsTurnos1(Turno turnos) {
		return turnos1.contains(turnos);
	}

	public boolean containsAllTurnos1(Collection turnos1) {
		return this.turnos1.containsAll(turnos1);
	}
	
	public int turnos1Size() {
		return turnos1.size();
	}

	public Turno[] turnos1ToArray() {
		return (Turno[]) turnos1.toArray(new Turno[turnos1.size()]);
	}

	public Turno[] turnos1ToArray(Turno[] turnos1) {
		return (Turno[]) this.turnos1.toArray(turnos1);
	}

		
	public boolean addTurnos1(Turno turnos) {
		return turnos1.add(turnos);
	}

		
	public void setTurnos1(Collection turnos1) {
		this.turnos1 = turnos1;
	}

		
	public boolean removeTurnos1(Turno turnos) {
		return turnos1.remove(turnos);
	}

	public void clearTurnos1() {
		turnos1.clear();
	}
	
	public boolean laFaseHaTerminado(){
		return faseAcabada;
	}
}


				